Code
library(tidyverse)
library(sf)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(viridisLite)
library(DT)
library(devtools)
library(ggplot2)
library(ggplotlyExtra)
library(plotly)
library(ggthemes)1- Introducción
2- Carga de Datos y Paquetes
3- Mapa de riqueza de especies de mamíferos en regiones socioeconómicas
4- Tabla de riqueza de especies de mamíferos en regiones socioeconómicas
5- Gráficos estadísticos
5.1- Gráfico de barras de riqueza de especies de mamíferos en regiones socioeconómicas
5.2- Gráfico de barras de cantidad de registros de presencia de Bradypus variegatus (perezoso de tres dedos) por año, desde 2000 (inclusive) hasta 2023 (inclusive)
En primer lugar se utilizará información del Atlas de Costa Rica del año 2014, el cual posee capas actualizadas con datos originales, siendo datos que se incorporan de forma muy reciente, lo que hace que sean más precisas las capas. Además, quienes utilizan este tipo de información, tienen acceso libre a dicha base de datos. Se entiede que, este sistema ha creado un filtro de búsqueda para que sea más fácil la obtención de información de interés, ya sea cualquier tipo de capas de datos necesitada.
En otro aspecto, se hizo el uso de fuentes como un csv, que incluye información de distintos mamíferos encontrados en el país de Costa Rica, para lograr realizar diferentes análisis estadísticos. Con esto se alcanza a observar de una forma más exacta información sobre la biodiversidad, influyendo en el aprendendizaje de los mamíferos encontrados en este país.
Información obtenida de:
library(tidyverse)
library(sf)
library(leaflet)
library(leaflet.extras)
library(leafem)
library(viridisLite)
library(DT)
library(devtools)
library(ggplot2)
library(ggplotlyExtra)
library(plotly)
library(ggthemes)regiones_socioeconómicas <-
st_read("regiones_socioeconomicas_simp_10m.geojson", quiet = TRUE
) |>
st_transform(4326)mamiferos <-
st_read(
"mamiferos.csv",
options = c(
"X_POSSIBLE_NAMES=decimalLongitude", # columna de longitud decimal
"Y_POSSIBLE_NAMES=decimalLatitude" # columna de latitud decimal
),
quiet = TRUE
)
# Asignación del CRS WGS84
st_crs(mamiferos) <- 4326mamiferos_union_regiones <-
st_join(
x = mamiferos,
y = dplyr::select(regiones_socioeconómicas, codigo),
join = st_within
)riqueza_especies_mamiferos_regiones <-
mamiferos_union_regiones |>
st_drop_geometry()|>
group_by(codigo) |>
summarize(riqueza_especies_mamiferos_regiones = n_distinct(species, na.rm = TRUE))regiones_union_riqueza <-
left_join(
x = regiones_socioeconómicas,
y = riqueza_especies_mamiferos_regiones,
by = "codigo"
) |>
replace_na(list(riqueza_especies_mamiferos_regiones = 0))colores_riqueza_especies <-
colorNumeric(
palette = "Reds",
domain = regiones_union_riqueza$riqueza_especies_mamiferos_regiones,
na.color = "transparent"
)
# Paleta de colores de especies
colores_especies <- colorFactor(
palette = viridis(length(unique(mamiferos$species))),
domain = mamiferos$species
)
# Mapa leaflet
leaflet() |>
setView(
lng = -84.19452,
lat = 9.572735,
zoom = 7) |>
addTiles(group = "Mapa general (OpenStreetMap)") |>
addProviderTiles(
providers$Esri.WorldImagery,
group = "Imágenes satelitales (ESRI World Imagery)"
) |>
addPolygons(
data = regiones_union_riqueza,
fillColor = ~ colores_riqueza_especies(regiones_union_riqueza$riqueza_especies_mamiferos_regiones),
fillOpacity = 0.8,
color = "black",
stroke = TRUE,
weight = 1.0,
popup = paste(
paste("<strong>Cantón:</strong>", regiones_union_riqueza$region),
paste("<strong>Riqueza de especies:</strong>", regiones_union_riqueza$riqueza_especies_mamiferos_regiones),
sep = '<br/>'
),
group = "Riqueza de especies"
) |>
addScaleBar(
position = "bottomleft",
options = scaleBarOptions(imperial = FALSE)
) |>
addLegend(
position = "bottomleft",
pal = colores_riqueza_especies,
values = regiones_union_riqueza$riqueza_especies_mamiferos_regiones,
group = "Riqueza de especies",
title = "Riqueza de especies"
) |>
addCircleMarkers(
data = mamiferos,
stroke = F,
radius = 4,
fillColor = ~colores_especies(mamiferos$species),
fillOpacity = 1.0,
popup = paste(
paste0("<strong>Especie: </strong>", mamiferos$species),
paste0("<strong>Localidad: </strong>", mamiferos$locality),
paste0("<strong>Fecha: </strong>", mamiferos$eventDate),
paste0("<strong>Fuente: </strong>", mamiferos$institutionCode),
paste0("<a href='", mamiferos$occurrenceID, "'>Más información</a>"),
sep = '<br/>'
)) |>
addLayersControl(
baseGroups = c(
"Mapa general (OpenStreetMap)",
"Imágenes satelitales (ESRI World Imagery)"
),
overlayGroups = c(
"Riqueza de especies"
)
)